package com.literaryfamily.literaryfamily.service.operator;

import com.literaryfamily.literaryfamily.entity.User;
import com.literaryfamily.literaryfamily.model.ReturnResult;

/**
 * 运营商管理用户身份接口
 * 此接口操作的身份(仅可分配权限比运营商低的)
 * 所有涉及读写的方法都需要抛出 WriteError 数据库读写错误异常(这个是运行时异常,只需要抛出不需要处理)
 * 此接口所有方法均不检查用户身份,应该验证身份后在进行检查
 *
 * @author 滑稽/因果报应
 */
public interface UserRolesService {

    /**
     * 为用户分配角色
     *
     * @param userId      用户ID
     * @param userRolesId 被分配的角色ID
     * @return 分配结果
     */
    User getUserRoles(Long userId, Long userRolesId);

    /**
     * 将用户的角色信息回归默认
     *
     * @param userId 用户ID
     * @return 分配结果
     */
    User removeUserRoles(Long userId);
}